package fiuba.algo3.gpschallenge.persistencia;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;

public class PersistenciaXML {

	public String generarRutaArchivoXML(String nombrecarpeta, String nombrexml) {
	
		String XML_RUTA = "./Datos/"+nombrecarpeta+"/";
		
		File carpeta=new File(XML_RUTA);
	
		if (!carpeta.exists()) carpeta.mkdirs();
	
		String XML_JUGADOR = XML_RUTA + nombrexml + ".xml";
		
		return XML_JUGADOR;
		
	}

	protected void persistiraXML(SerializableAXml objeto, String nombrecarpeta, String nombrexml)
			throws Exception {
				String XML = generarRutaArchivoXML(nombrecarpeta,nombrexml);
				JAXBContext context = JAXBContext.newInstance(objeto.getClass());
				Marshaller m = context.createMarshaller();
				m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
				m.marshal(objeto, System.out);
			
				Writer w = null;
				try {
					w = new FileWriter(XML);
					m.marshal(objeto, w);
				} catch (IOException e) {
					
					e.printStackTrace();
				} finally {
					try {
						w.close();
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}

}
